import request from '@/utils/request'
// 模块导入导出一定要对应
// 当默认导出的时候，名字可以随便去，但是如果是按需导出，导入的时候名字一定要对应
// 登录函数
/** 多行注释
 * @description: 登录函数
 * @param {*} data { mobile,password}
 * @return {*} promise
 */
// request就是高配的axios，用来发送请求的
// request这个函数执行之后返回：promise对象
// login函数执行完之后，会返回一个promise对象
// 所以：
// login这个函数可以发送一个请求，并返回一个promise对象
// login().then(res=>{})就可以拿到返回的数据   async function doLogin(){await login()}
// api三大点：入参，逻辑，return值
export function login(data) {
  // return 是request函数的调用接口，也就是说return是request函数的返回值(promise对象)
  return request({
    url: '/sys/login',
    method: 'POST',
    // 当键值都为data，则可以省略一个data
    data: data // key data是axios封装好的专门用来接收参数的位置
  })
}
/**
 * @description: 获取用户资料
 * @param {*} token
 * @return {*}
 */
export function getUserInfo() {
  return request({
    url: '/sys/profile',
    method: 'POST'
  })
}
// 拿到用户头像
export function getUserDetailById(id) {
  return request({
    url: `/sys/user/${id}`
  })
}


// login在业务中进行接口调用的函数封装
// 为什么要做
// 1、api接口是语义化函数，看到这个函数就知道封装的是什么api
// 2、接口的信息已经封装完毕，业务直接拿来用，只需要传递正常的参数即可
// 3、单独拎出来api模块，这样的话就方便我们写

// request 和 api的关系：一对多关系，一：request，多：api下面的所有请求，比如我们在拦截器中统一注入token，只要
// 你是使用我导出的request进行的接口封装，就都会自动拥有token数据，不需要单独写
